package org.origin.ferret.system.service;

import org.origin.centre.model.base.XPage;
import org.origin.centre.model.dto.XDeleteByIdDto;
import org.origin.centre.model.dto.XQueryByIdDto;
import org.origin.centre.model.dto.XUpdateByIdDto;
import org.origin.centre.model.vo.XPageVo;
import org.origin.ferret.system.model.dto.dict.*;
import org.origin.ferret.system.model.vo.dict.SysDictVo;

/**
 * 系统字典-服务
 *
 * @author ferret
 * @version 2024-05-08
 */
public interface SysDictService {

    XPageVo<SysDictVo> page(XPage<SysDictPageDto> pageDto);

    SysDictVo query(XQueryByIdDto queryDto);

    Boolean insert(SysDictInsertDto insertDto);

    Boolean update(SysDictUpdateDto updateDto);

    Boolean delete(XDeleteByIdDto deleteDto);

    Boolean valid(XUpdateByIdDto updateDto);

    Boolean invalid(XUpdateByIdDto updateDto);

    XPageVo<SysDictVo> childrenPage(XPage<SysDictPageDto> pageDto);

    Boolean childrenInsert(SysDictChildrenInsertDto insertDto);

    Boolean childrenUpdate(SysDictChildrenUpdateDto updateDto);

    Boolean childrenDelete(XDeleteByIdDto deleteDto);

    Boolean childrenValid(XUpdateByIdDto updateDto);

    Boolean childrenInvalid(XUpdateByIdDto updateDto);

    Boolean childrenDefault(XUpdateByIdDto updateDto);

    XPageVo<SysDictVo> configPage(XPage<SysDictPageDto> pageDto);

}
